package Box2D.Common.Math
{
	import Box2D.Common.b2Base;

	public class b2Math
	{
		public static function MulX(T:b2Transform,v:b2Vec2):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_MulX(T.wrapper,v.wrapper));
		}	
		public static function MulXT(T:b2Transform,v:b2Vec2):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_MulXT(T.wrapper,v.wrapper));
		}	
		public static function MulA(A:b2Mat22,v:b2Vec2):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_MulA(A.wrapper,v.wrapper));
		}	
		public static function MulAT(A:b2Mat22,v:b2Vec2):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_MulAT(A.wrapper,v.wrapper));
		}	
		public static function Clamp(a:b2Vec2,low:b2Vec2,high:b2Vec2):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_Clamp(a.wrapper,low.wrapper,high.wrapper));
		}
		public static function CrossVV(a:b2Vec2,b:b2Vec2):Number{
			return b2Base.impl.lib.b2Math_CrossVV(a.wrapper,b.wrapper);
		}
		public static function CrossVF(a:b2Vec2,s:Number):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_CrossVF(a.wrapper,s));
		}
		public static function CrossFV(s:Number,a:b2Vec2):b2Vec2{
			return new b2Vec2(0,0,b2Base.impl.lib.b2Math_CrossFV(s,a.wrapper));
		}
		public static function CrossV3(a:b2Vec3,b:b2Vec3):b2Vec3{
			return new b2Vec3(b2Base.impl.lib.b2Math_CrossV3(a.wrapper,b.wrapper));
		}
	}
}